import cv2

# cap = cv2.VideoCapture(0)
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
# 定义编解码器并创建VideoWriter对象
# 设置编码参数
fourcc = cv2.VideoWriter_fourcc(
    *"XVID"
)  # 或者 cv.VideoWriter_fourcc（'X'，'V'，'I'，'D'）,DIVX，XVID，MJPG，X264，WMV1，WMV2
# 设置保存路径，创建视频流对象格式，帧率，分辨率
out = cv2.VideoWriter("output.avi", fourcc, 20.0, (640, 480))
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        print("Can't receive frame (stream end?). Exiting ...")
        break
    frame = cv2.flip(frame, 1)  # 水平翻转图像，参数1代表水平翻转图像，而0代表垂直翻转图像
    # 写翻转的框架
    out.write(frame)
    cv2.imshow("frame", frame)
    if cv2.waitKey(1) == ord("q"):
        break
# 完成工作后释放所有内容
cap.release()
out.release()
cv2.destroyAllWindows()
